package com.ruoyi.system.service;

import java.util.List;


import com.ruoyi.system.domain.SysRoleUser;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;


/**
 * 用户和角色关联Service接口
 *
 * @author youde
 * @date 2022-11-16
 */
public interface ISysRoleUserService {
    /**
     * 查询用户和角色关联
     *
     * @param roleUserID ID
     * @return 用户和角色关联
     */
    public SysRoleUser selectSysRoleUserByRoleUserId(String roleUserID);

    /**
     * 查询用户和角色关联列表
     *
     * @param SysRoleUser 用户和角色关联
     * @return 用户和角色关联集合
     */
    public Page<SysRoleUser> selectSysRoleUserList(SysRoleUser SysRoleUser, Pageable pageinfo);


    /**
     * 查询用户和角色关联列表
     *
     * @param SysRoleUser 用户和角色关联
     * @return 用户和角色关联集合
     */
    public List<SysRoleUser> selectSysRoleUserList(SysRoleUser SysRoleUser);

    /**
     * 新增用户和角色关联
     *
     * @param SysRoleUser 用户和角色关联
     * @return 结果
     */
    public SysRoleUser[] insertSysRoleUser(SysRoleUser[] SysRoleUser);

    /**
     * 修改用户和角色关联
     *
     * @param SysRoleUser 用户和角色关联
     * @return 结果
     */
    public SysRoleUser updateSysRoleUser(SysRoleUser SysRoleUser);

    /**
     * 批量删除用户和角色关联
     *
     * @param pkRoleUsers 需要删除的用户和角色关联主键集合
     * @return 结果
     */
    public void deleteSysRoleUserByIds(String[] pkRoleUsers);

    /**
     * 根据角色删除所有关联信息
     * @param roleId
     * @return
     */
    public int deleteSysRoleUserByRoleId(String roleId);

    /**
     * 根据角色查询已经分配的用户信息
     * @param roleId
     * @return
     */
    public List<SysRoleUser> findByRoleId(String roleId);


    public int deleteByRoleId(String roleId);
}